end-to-end tests: refactor and fix flaky tests#2470
Merged
qdm12 merged 47 commits intodevelopmentfrom Jun 10, 2022
Merged
Conversation
23c4806 to
cce2193
Compare
Codecov Report
@@ Coverage Diff @@
## development #2470 +/- ##
============================================
Coverage 57.34% 57.34%
============================================
Files 215 215
Lines 28417 28407 -10
============================================
- Hits 16296 16291 -5
+ Misses 10442 10440 -2
+ Partials 1679 1676 -3
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
3287691 to
d02eb44
Compare
dc36f16 to
bd18ecd
Compare
bd18ecd to
85c38a5
Compare
…etry.UntilNoError`
- Use `Decode` from rpc package instead - Add fields to RPC server response struct
Co-authored-by: Timothy Wu <timwu20@gmail.com>
- Add `fetchWithTimeout` helper function - Change test cases slices to individual subtests - Add `t.SkipNow()` to parent tests where all subtests are skipped - Make `TestChainRPC` event driven and increase testing depth - Add a few `TODO`s to increase testing depth - Run each query call in parallel
- Refactor websocket code - Assert things and increase test depth - Graceful shutdown of websocket
- Use Go to implement `integration-test-all.sh` directly in single 'stable' test - The test is fast and only does RPC calls, it should be part of the RPC workflow - Remove stable workflow from Makefile, github workflows directory and document
ff87feb to
f0e0187
Compare
rrtti
pushed a commit
to polkadot-fellows/seeding
that referenced
this pull request
Sep 29, 2022
I am Quentin Mc Gaw, a software engineer working the Go Polkadot host **Gossamer**. I have been working full time on Gossamer since October 2021, mostly on the state trie and storage. I have also made a [few minor pull requests](https://github.com/w3f/polkadot-spec/pulls?q=is%3Apr+is%3Aclosed+author%3Aqdm12) to the Polkadot specification repository. I am requesting to join the Fellowship at rank 1. ## Main contributions ### Gossamer - Fix memory leaks - Trie encoding buffer pools usage fixed [#2009](ChainSafe/gossamer#2009) - Fix state map of tries memory leak [#2286](ChainSafe/gossamer#2286) - Fix sync benchmark [#2234](ChainSafe/gossamer#2234) - Trie proof fixes ([#2604](ChainSafe/gossamer#2604), [#2661](ChainSafe/gossamer#2661)) - Fix end to end tests orchestration ([#2470](ChainSafe/gossamer#2470), [#2452](ChainSafe/gossamer#2452), [#2385](ChainSafe/gossamer#2385), [#2370](ChainSafe/gossamer#2370)) - State trie statistics ([#2378](ChainSafe/gossamer#2378), [#2310](ChainSafe/gossamer#2310), [#2272](ChainSafe/gossamer#2272)) - State trie fixes and improvements - Only deep copy nodes when mutation is certain [#2352](ChainSafe/gossamer#2352) and [#2223](ChainSafe/gossamer#2223) - Only deep copy necessary fields of a node [#2384](ChainSafe/gossamer#2384) - Use Merkle values for database keys instead of always hash [#2725](ChainSafe/gossamer#2725) - Opportunistic parallel Merkle value commputing [#2081](ChainSafe/gossamer#2081) - Grandpa capped number of tracked messages ([#2490](ChainSafe/gossamer#2490), [#2485](ChainSafe/gossamer#2485)) - Add pprof HTTP service for profiling [#1991](ChainSafe/gossamer#1991) Ongoing work: - State trie lazy loading and caching - State trie v1 support ([#2736](ChainSafe/gossamer#2736), [#2747](ChainSafe/gossamer#2747), [#2687](ChainSafe/gossamer#2687), [#2686](ChainSafe/gossamer#2686), [#2685](ChainSafe/gossamer#2685), [#2673](ChainSafe/gossamer#2673), [#2611](ChainSafe/gossamer#2611), [#2530](ChainSafe/gossamer#2530)) ### Polkadot specification ➡️ [Pull requests from qdm12](https://github.com/w3f/polkadot-spec/pulls?q=is%3Apr+is%3Aclosed+author%3Aqdm12)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
💡 Review commit by commit by starting with the first commit
Changes
TLDR
make gossamer)Details
TestAuthorSubmitExtrinsicTestSync_SingleBlockProducer(Fix Flaky Tests inTestSync_SingleBlockProducer#2167)compareBlocksByNumberTestSystemRPC(Fix Flaky Tests inTestSystemRPC#2161)networkStatetest caseTestSystemRPC#2161 and RPC tests for system_health should start 2 peers and assert correctly #807retry.UntilNoErrorfunctioncompareBlocksByNumberwaitForNodeGetBlockHashto not retry RPCPostWithRetrymaxTriesandtestTimeoutin stress testsgetResponsetests/utilspackagetests/utils/rpcpackagetests/utils/websocketpackagetests/utils/configpackageDecodeRPC_NTHOSTNAMEvariableGenesisTwoAuthsSecondaryVRF0_9_10GenesisDefaultandGenesisDevGenerateGenesisAuthsfunctiont.TempDir()for base pathswaitForNodecontext based function (tests/utils: addwaitForNodecontext-based function to wait for a node #2390)DecodeRPCnot test aware (tests/utils: make helping functions not test aware #2389)Tests
Issues
See issues mentioned in changes above.
Indirectly fixed: #2165
Primary Reviewer